home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / autolib / auto_p_write_init_proc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-18  |  3.6 KB  |  103 lines

  1. /*
  2. ### procedure for writing an user initialization file for auto execution ###
  3. */
  4.  
  5. #include <stdio.h>
  6. #include "../include/auto_kaos_def.h"
  7.  
  8. void
  9. auto_panel_write_init_proc()
  10. {
  11.     int i,lock_interval_old;
  12.     FILE *fp,*fopen();
  13.     extern int region_index,lock_interval;
  14.     extern char string[],lstring[],auto_dir_name[],auto_file_name[],auto_input_name[];
  15.     /* AUTO86 declerations */
  16.     extern int auto_ndim,auto_ips,auto_irs,auto_ilp;
  17.     extern int auto_ntst,auto_ncol,auto_iad,auto_isp,auto_isw,auto_iplt;
  18.     extern int auto_nbc,auto_nint,auto_nmx,auto_npr,auto_mxbf,auto_iid;
  19.     extern int auto_itmx,auto_itnw,auto_nwtn,auto_jac,auto_nuzr;
  20.     extern int auto_n1,auto_n2,auto_nfpar,auto_icp[];
  21.     extern double auto_rl0,auto_rl1,auto_a0,auto_a1,auto_par[];
  22.     extern double auto_epsu,auto_epss,auto_epsl[],auto_ds,auto_dsmin,auto_dsmax;
  23.     extern double auto_thetau,auto_thetal[];
  24.     
  25.     all_reset();
  26.  
  27.         sprintf(string,"%s/%s",auto_dir_name,auto_input_name);
  28.     fp = fopen(string,"w");
  29.     if(fp == NULL){
  30.         fclose(fp);
  31.         return;
  32.     }
  33.     fprintf(fp,"      subroutine init\n");
  34.     fprintf(fp,"c     ---------- ----\n");
  35.     fprintf(fp,"c\n");
  36.     fprintf(fp,"c in this subroutine the user should set those constants that require\n");
  37.     fprintf(fp,"c values that differ from the default values assigned in dfinit.\n");
  38.     fprintf(fp,"c (see the main documentation for the default assignments).\n");
  39.     fprintf(fp,"c\n");
  40.     fprintf(fp,"      implicit double precision (a-h,o-z)\n");
  41.     fprintf(fp,"CSGLE implicit real (a-h,o-z)\n");
  42.     fprintf(fp,"c\n");
  43.     fprintf(fp,"      common /blbcn/ ndim,ips,irs,ilp,icp(20),par(20)\n");
  44.     fprintf(fp,"      common /blcde/ ntst,ncol,iad,isp,isw,iplt,nbc,nint\n");
  45.     fprintf(fp,"      common /bldls/ ds,dsmin,dsmax,iads\n");
  46.     fprintf(fp,"      common /bllim/ nmx,nuzr,rl0,rl1,a0,a1\n");
  47.     fprintf(fp,"      common /blmax/ npr,mxbf,iid,itmx,itnw,nwtn,jac\n");
  48.     fprintf(fp,"c\n");
  49.  
  50.     fprintf(fp,"       ndim=%d\n",auto_ndim);
  51.     fprintf(fp,"       ips=%d\n",auto_ips);
  52.     fprintf(fp,"       irs=%d\n",auto_irs);
  53.     fprintf(fp,"       ilp=%d\n",auto_ilp);
  54.     fprintf(fp,"c\n");
  55.     fprintf(fp,"c set the principal bifurcation parameter to be par(1).\n");
  56.     fprintf(fp,"c\n");
  57.     fprintf(fp,"       icp(1)=%d\n",auto_icp[0]);
  58.     fprintf(fp,"c\n");
  59.     fprintf(fp,"c set the second free parameter to be par(2).\n");
  60.     fprintf(fp,"c (for 2-parameter continuation).\n");
  61.     fprintf(fp,"c\n");
  62.     for(i=1;i<auto_nfpar;i++){ 
  63.         fprintf(fp,"       icp(%d)=%d\n",i+1,auto_icp[i]);
  64.     }
  65.     fprintf(fp,"c\n");
  66.     fprintf(fp,"       rl0=%lg\n",auto_rl0);
  67.     fprintf(fp,"       rl1=%lg\n",auto_rl1);
  68.     fprintf(fp,"       a0=%lg\n",auto_a0);
  69.     fprintf(fp,"       a1=%lg\n",auto_a1);
  70.     fprintf(fp,"       ds=%lg\n",auto_ds);
  71.     fprintf(fp,"    dsmin = %lg\n",auto_dsmin);
  72.     fprintf(fp,"    dsmax = %lg\n",auto_dsmax);
  73.     fprintf(fp,"c\n");
  74.     fprintf(fp,"       ntst=%d\n",auto_ntst);
  75.     fprintf(fp,"       iad=%d\n",auto_iad);
  76.     fprintf(fp,"       isp=%d\n",auto_isp);
  77.     fprintf(fp,"       ncol=%d\n",auto_ncol);
  78.     fprintf(fp,"       isw=%d\n",auto_isw);
  79.     fprintf(fp,"       iplt=%d\n",auto_iplt);
  80.     fprintf(fp,"       nbc=%d\n",auto_nbc);
  81.     fprintf(fp,"       nint=%d\n",auto_nint);
  82.     fprintf(fp,"c\n");
  83.     fprintf(fp,"       nmx=%d\n",auto_nmx);
  84.     fprintf(fp,"       nuzr=%d\n",auto_nuzr);
  85.     fprintf(fp,"       npr=%d\n",auto_npr);
  86.     fprintf(fp,"       mxbf=%d\n",auto_mxbf);
  87.     fprintf(fp,"       iid=%d\n",auto_iid);
  88.     fprintf(fp,"       itmx=%d\n",auto_itmx);
  89.     fprintf(fp,"       itnw=%d\n",auto_itnw);
  90.     fprintf(fp,"       nwtn=%d\n",auto_nwtn);
  91.     fprintf(fp,"       jac=%d\n",auto_jac);
  92.     fprintf(fp,"c\n");
  93.     for(i=0;i<AUTO_ALL_PARAM_DIM;i++){
  94.         fprintf(fp,"      par(%d)=%lg\n",i+1,auto_par[i]);
  95.     }
  96.     fprintf(fp,"      return\n");
  97.     fprintf(fp,"      end\n");
  98.     fclose(fp);
  99.  
  100.     auto_panel_load_proc();
  101. }
  102.  
  103.